﻿using System;

namespace Neovolve.Extensibility.VisualStudio.TestProfilerLink
{
    /// <summary>
    /// The <see cref="TestFrameworkFormatMaskConstant"/>
    /// class defines the constants used for describing the format masks for <see cref="TestFramework"/> objects.
    /// </summary>
    public static class TestFrameworkFormatMaskConstant
    {
        /// <summary>
        /// Defines the format mask for the collection of assembly test formats.
        /// </summary>
        public const String AssemblyTestFormat = "[AssemblyTestFormat]";

        /// <summary>
        /// Defines the format mask for the base usage for invoking the test framework.
        /// </summary>
        public const String BaseUsage = "{BaseUsage}";

        /// <summary>
        /// Defines the format mask for the collection of class test formats.
        /// </summary>
        public const String ClassTestFormat = "[ClassTestFormat]";

        /// <summary>
        /// Defines the format mask for the current day.
        /// </summary>
        public const String Day = "{dd}";

        /// <summary>
        /// Defines the format mask for the file defines a test or set of tests.
        /// </summary>
        public const String FileName = "{FileName}";

        /// <summary>
        /// Defines the format mask for the current hour.
        /// </summary>
        public const String Hour = "{hh}";

        /// <summary>
        /// Defines the format mask for the directory that contains the Visual Studio IDE.
        /// </summary>
        public const String IDEDir = "{IDEDir}";

        /// <summary>
        /// Defines the format mask for the collection of load test formats.
        /// </summary>
        public const String LaodTestFormat = "[LoadTestFormat]";

        /// <summary>
        /// Defines the format mask for the current minute.
        /// </summary>
        public const String Minute = "{MM}";

        /// <summary>
        /// Defines the format mask for the current month.
        /// </summary>
        public const String Month = "{mm}";

        /// <summary>
        /// Defines the format mask for the current second.
        /// </summary>
        public const String Second = "{ss}";

        /// <summary>
        /// Defines the format mask for the solution directory path.
        /// </summary>
        public const String SolutionDir = "{SolutionDir}";

        /// <summary>
        /// Defines the format mask for the name of a test.
        /// </summary>
        public const String TestName = "{TestName}";

        /// <summary>
        /// Defines the format mask for the collection of unit test formats.
        /// </summary>
        public const String UnitTestFormat = "[UnitTestFormat]";

        /// <summary>
        /// Defines the format mask for the usage format build from the defined options.
        /// </summary>
        public const String UsageFormat = "{UsageFormat}";

        /// <summary>
        /// Defines the format mask for the user id.
        /// </summary>
        public const String UserId = "{UserId}";

        /// <summary>
        /// Defines the format mask for the current year.
        /// </summary>
        public const String Year = "{yyyy}";
    }
}